The increasing complexity of interactions in finance, manufacturing, and other areas has highlighted the demand for sophisticated methods and systems for optimizing problem-solving among multiple entities. In many cases, multiple entities are given the task of solving a single problem. Often, the entities cannot plan together to determine the optimal solution to the problem. The entities interact only by sending request and promise messages to each other, which limits the opportunities for cooperative planning. Known methods and systems of optimizing request-promise workflows, however, have not been completely satisfactory with respect to effectiveness.
To illustrate the problem, consider the following example. Suppose that there are two entities, a supplier X and a producer Y, where X sells supplies to Y that Y needs to produce a product. Both X and Y perform optimization independently of each other, and they interact only by sending request and promise messages to each other. Entity Y has an external demand of 10 for each of its products C and D, and sells these products for $500 per unit. Entity X sells supplies A and B to Y for $200 per unit. Entity Y requires supplies A and B and an internal resource S to produce the products C and D, and Entity X requires an internal resource R to produce supplies A and B. Each unit of C requires 1 unit of A and 2 units of internal resource S, each unit of D requires 1 unit of B and S each, each unit of A requires 1 unit of R, and each unit of B requires 3 units of R. Only 20 units are available for each of the two internal resources R and S. Note that initially, Y would prefer to produce more units of D than of C, since D requires fewer units of internal resource S, while X would prefer to produce more units of A than of B, since A requires fewer units of internal resource R.
According to one known method, the producer makes a commitment to a client after its initial optimization. According to this method, Y assumes an unlimited supply of A and B. Y plans optimally, and decides to produce 5 units of C and 10 units of D. Y commits to delivering these amounts to the client. Y communicates to X a request for 5 units of A and 10 units of B. X plans optimally, resulting in producing 5 units of each of A and B. Because of the shortfall in B, Y fails in its commitment to deliver 10 units of D, and neither the supplies nor the producer have reached the optimal solution to the problem.
According to another known method, the producer makes a commitment to a client after receiving supplies that do not satisfy a request. According to this method, Y assumes an unlimited supply of A and B. Y plans optimally, and decides to produce 5 units of C and 10 units of D. Y communicates a request to X for 5 units of A and 10 units of B. X plans optimally, resulting in producing 5 units of each of A and B. Because of the shortfall in B, Y decreases its planned production of D to 5 units. Y commits to delivering 5 units of each of C and D, but again, neither the supplier nor the producer have reached the optimal solution to the problem.
While these approaches have provided improvements over prior approaches, the challenges in the field of optimization systems have continued to increase with demand for more and better techniques having greater effectiveness. Therefore, a need has arisen for a new method and system for optimizing request-promise workflows.